/*    
    内联函数 做法：
        1. 检查函数，确定它不具有多态性
            -- 如果该函数属于一个类，且有子类继承了这个函数，那么就无法内联。
        2. 找出这个函数的所有调用点。
        3. 将这个函数的所有调用点都替换为函数本体。
        4. 每次替换之后，执行测试。
            -- 不必一次完成整个内联操作。如果某些调用点比较难以内联，可以等到时机成熟后再来处理。
        5. 删除该函数的定义。
*/

function reportLines(aCustomer){
    const lines = [];
    gatherCustomerData(lines,aCustomer);
    return lines;
}

function gatherCustomerData(out,aCustomer){
    out.push(["name",aCustomer.name]);
    out.push(["location",aCustomer.location]);
}

/********************** 内联函数后 ***************************** */
function reportLines(aCustomer){
    const lines = [];
    lines.push(["name",aCustomer.name]);
    lines.push(["location",aCustomer.location]);
    return lines;
}